<template>
  <div class="import">
    <upload-excel :beforeUpload="beforeUpload" :onSuccess="onSuccess" />
  </div>
</template>

<script>
import { postBatchuser } from "@/api/employees.js";
export default {
  data() {
    return {};
  },
  methods: {
    // 文件上传前  file 是这个文件本身
    beforeUpload(file) {
      // console.log(file);
      if (file.size > 1024 * 2 * 1024) {
        this.$message.success("文件大小不能超过2M");
        return false;
      }
      return true;
    },
    // 文件上传后  有1参数res 存着表头以及表格内容 用对象解构
    async onSuccess({ header, results }) {
      // 表头对应关系
      const headers = {
        手机号: "mobile",
        姓名: "username",
        入职日期: "timeOfEntry",
        聘用形式: "formOfEmployment",
        转正日期: "correctionTime",
        工号: "workNumber",
        部门: "departmentName",
      };
      // 遍历原始表格数据
      let list = results.map((item) => {
        let newObj = {};
        //  遍历取出表格中的中文key
        for (let key in item) {
          // 根据上面的英文转换为因为键
          let engkye = headers[key];
          // excel事件转js时间处理 如果对象中key等于这两个名字就需要做处理
          if (key == "入职日期" || key == "转正日期") {
            let excelTime = item[key];
            let data = new Date((excelTime - 1) * 24 * 60 * 60 * 1000);
            let year = data.getFullYear();
            data.setFullYear(year - 70);
            newObj[engkye] = data;
          } else {
            newObj[engkye] = item[key];
          }
        }
        // console.log(newObj);
        return newObj;
      });
      //  发起请求   给导入加点击事件跳转
      await postBatchuser(list);
      this.$message.success("导入成功!");
      this.$router.back();
    },
  },
};
</script>

<style>
</style>